package com.example.administrator.test0211;

import android.content.Context;
import android.view.Gravity;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;


/**
 *
 */
public class ToastUtils {

    private static Toast toast;

    /**
     * 显示提示信息
     *
     * @param context
     * @param resId     文本内容
     */
    public static void showToast(Context context, int resId) {
        showToast(context, context.getResources().getText(resId).toString(), 0, R.drawable.toast_bg);
    }

    /**
     * 显示提示信息
     *
     * @param context
     * @param msg     文本内容
     */
    public static void showToast(Context context, String msg) {
        showToast(context, msg, 0, R.drawable.toast_bg);
    }

    /**
     * 显示提示信息
     *
     * @param context
     * @param resId    文本资源Id
     * @param imageRes 提示图标资源id
     */
    public static void showToast(Context context, int resId, int imageRes) {
        showToast(context, context.getString(resId), imageRes, R.drawable.toast_bg);
    }

    /**
     * 显示提示信息
     *
     * @param context
     * @param msg      文本内容
     * @param imageRes 提示图标资源id
     */
    public static void showToast(Context context, String msg, int imageRes) {
        showToast(context, msg, imageRes, R.drawable.toast_bg);
    }

    /**
     * 显示提示信息
     *
     * @param context
     * @param resId         文本资源Id
     * @param imageRes      提示图标资源id
     * @param backgroundRes 提示框背景图
     */
    public static void showToast(Context context, int resId, int imageRes, int backgroundRes) {
        showToast(context, context.getString(resId), imageRes, backgroundRes);
    }

    /**
     * 显示提示信息
     *
     * @param context
     * @param msg           文本内容
     * @param imageRes      提示图标资源id
     * @param backgroundRes 提示框背景图
     */
    public static void showToast(Context context, String msg, int imageRes, int backgroundRes) {
        if (toast != null) {
            toast.cancel();
            toast = null;
        }
        toast = Toast.makeText(context, msg, Toast.LENGTH_LONG);
        toast.setGravity(Gravity.CENTER, 0, 0);

        LinearLayout toastView = (LinearLayout) toast.getView();
        if (backgroundRes > 0) {
            toastView.setBackgroundResource(backgroundRes);
        }

        // 适配toast的字体大小
//        int childSize = toastView.getChildCount();
//        for(int i = 0; i < childSize; i ++){
//            View item = toastView.getChildAt(i);
//            if(item != null && item instanceof TextView){
//                TextView tv = (TextView)item;
//                tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, context.getResources().getDimension(R.dimen.text_size_14));
//            }
//        }

        if (imageRes > 0) {
            ImageView iv = new ImageView(context);
            iv.setImageResource(imageRes);
            toastView.addView(iv, 0);
        }

        // 修改布局的大小
        float density = context.getResources().getDisplayMetrics().density;
        int padding = (int) (density * 20);
        toastView.setGravity(Gravity.CENTER_HORIZONTAL);
        toastView.setMinimumWidth((int) (density * 170));
        toastView.setPadding(padding, padding, padding, padding);

        toast.setDuration(Toast.LENGTH_SHORT);
        toast.show();
    }

}
